#pragma once
#include "IGameState.h"
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

class CSGD_Direct3D;
class CSGD_DirectInput;
class CSGD_TextureManager;
class CSGD_XAudio2;
class CLoadScreen :
	public IGameState
{
public:
	//SINGLETON
	static CLoadScreen*	GetInstance( void );

	// IGameState Interface
	virtual		void	Enter	( void );
	virtual		void	Exit	( void );

	virtual		bool	Input	( void );
	virtual		void	Update	( float fElapsedTime );
	virtual		void	Render	( void );
	void HandleEvent(CEvent* pEvent);

private:
	CLoadScreen(void);
	~CLoadScreen(void);

	CLoadScreen(const CLoadScreen& );
	CLoadScreen& operator= (const CLoadScreen& );

	CSGD_Direct3D*			m_pD3D;
	CSGD_DirectInput*		m_pDI;
	CSGD_TextureManager*	m_pTM;
	CSGD_XAudio2*			m_pXA;

	//Assets
	int m_nCursorPos;

	int m_nEnemies1;
	int m_nCurrLevel1;
	int m_nCurrFloor1;

	int m_nEnemies2;
	int m_nCurrLevel2;
	int m_nCurrFloor2;

	int m_nEnemies3;
	int m_nCurrLevel3;
	int m_nCurrFloor3;
};

